Methods of encrypting/decrypting a data block may include performing one or more encryption or decryption operations. Some of these methods may include iteratively performing one or more of the encryption or decryption operations. For example the Advanced Encryption Standard (AES) defines an encryption/decryption cipher including iteratively performing a plurality of predetermined AES operations on a state array representing the data block.
Some conventional encryption/decryption devices may use a conventional processor to perform one or more computations including a predetermined sequence of “standard” arithmetical operations, e.g., including addition, subtraction, multiplication and/or division, in order to achieve a result equivalent to the predetermined encryption or decryption operations. Such computations, e.g., when performed on a relatively large data block, may be time consuming and/or may require relatively high utilization of the processor computational resources, and thus may be power consuming.
Other conventional devices may implement an encryption accelerator, e.g., one or more hardware elements associated with a processor and dedicated to performing one or more of the encryption/decryption operations on an input data block, e.g., received form the processor. The use of such devices may be time and/or power consuming, since the input data block must be transferred from the processor to the encryption accelerator and the output of the encryption accelerator must be transferred back to the processor after performing each encryption or decryption operation.
It will be appreciated that for simplicity and clarity of illustration, elements shown in the drawings have not necessarily been drawn accurately or to scale. For example, the dimensions of some of the elements may be exaggerated relative to other elements for clarity or several physical components included in one functional block or element. Further, where considered appropriate, reference numerals may be repeated among the drawings to indicate corresponding or analogous elements. Moreover, some of the blocks depicted in the drawings may be combined into a single function